package com.ynet.middleground.approve.bean;

import java.io.Serializable;
import java.util.List;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * FilesToBeSignedBean 移动审批待签章文件属性
 *
 * @author suremotoo
 * @date 2023/03/08 22:49
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "移动审批待签章文件属性信息", description = "移动审批待签章文件属性信息")
public class FilesToBeSignedBean implements Serializable {

    private static final long serialVersionUID = 7844085968268446068L;

    @ApiModelProperty(value = "文件 id 唯一标识", notes = "文件 id 唯一标识", dataType = "String")
    @NotBlank(message = "文件 id 唯一标识不可为空")
    private String id;

    @ApiModelProperty(value = "文件id标识（用于 HTML 标签标识）", notes = "文件id标识（用于 HTML 标签标识）", dataType = "String")
    private String idName;

    @ApiModelProperty(value = "文件名称", notes = "文件名称", dataType = "String")
    @NotBlank(message = "文件名称不可为空")
    private String displayName;

    @ApiModelProperty(value = "文件地址", notes = "文件地址", dataType = "String")
    @NotBlank(message = "文件地址不可为空")
    private String value;

    @ApiModelProperty(value = "排序", notes = "排序", dataType = "Integer")
    private Integer order = 1;

    @ApiModelProperty(value = "是否隐藏（暂不使用，扩展字段）", notes = "是否隐藏（暂不使用，扩展字段）", dataType = "String")
    private String isHidden;

    @ApiModelProperty(value = "是否只读（暂不使用，扩展字段）", notes = "是否只读（暂不使用，扩展字段）", dataType = "String")
    private String isReadonly;

    @ApiModelProperty(value = "签章信息集合", notes = "签章信息集合")
    @NotEmpty(message = "签章信息集合不可为空")
    private List<ToBeSignedInfo> signList;

}
